Various apparatuses have been developed to effectively clean floors. These vary from small personal vacuum cleaners to large industrial floor scrubbers. One of the most common industrial floor cleaners requires an operator to manually direct the cleaner over the areas where the cleaning is desired. The benefits gained by such cleaners include the thoroughness of the cleaning operation, the speed at which the cleaner can clean and, since most are self-powered, the ease of maneuverability. Labor costs have led to even further advances. In particular, instead of one operator per floor cleaner, floor cleaning inventions have been disclosed that allow a single operator to control a plurality of floor cleaners. For example, there are floor cleaners that are controlled by wires embedded in the floor such that an operator may initiate a number of floor cleaners simultaneously, each following a different wire track. However, the initial expense and resulting inflexibility has motivated the development of floor cleaning apparatuses guided substantially by the combination of a computer for determining the cleaning sections and cleaning paths, and a location sensing system for providing continual feedback as to the location of the cleaner during the cleaning process. In one such apparatus, the location sensing system includes laser beam emitting and sensing equipment for reflecting a laser beam off pre-positioned reflective targets. The targets are oriented to correspond with the cleaning path configuration. Thus, for instance, the reflectors are positioned in rows on the ceiling such that the floor cleaner may traverse a path parallel to a reflector row. In another embodiment, the targets are able to emit a desired signal upon activation by the laser beam. On the other hand, such automated floor cleaners lack a general location determining system to orient themselves within a cleaning area. That is, such floor cleaners can only determine their position relative to the current path being cleaned. They also have little in the way of obstacle avoidance capabilities other than a multiplicity of sensing devices that shut the floor cleaner off when an obstacle is detected. However, it is known in the cleaning field to utilize a robotic unit that is preprogrammed to avoid predetermined obstacles that are found in the area to be cleaned. This unit is deficient though in properly handling obstacle avoidance under certain critical circumstances, including when an obstacle is encountered that was not taken into account during the pre-programming.
With respect to obstacle avoidance, a certain measure of success has been made in a different field, that of robotics. Robots have been developed which traverse a predetermined path deviating only enough to avoid obstacles in their path. One such robot, used as a sentry, navigates by infrared beacons placed at "nodes" along a path to be followed by the robot. If an obstacle is encountered on the path, the robot attempts to avoid it by the use of 24 ultrasonic sensors placed every 15.degree. around the robot. Since the robot is shaped much like a vertical cylinder, a relatively simple algorithm is used to avoid small obstacles. That is, by determining the collections of blocked and unblocked ultrasonic sensors around the robot's circumference, a deviation angle is determined such that by changing course by this angle, the robot will avoid the obstacle.
Despite these previous efforts, no floor cleaning apparatus has effectively combined and automated the functions peculiar to floor cleaning with a sufficiently accurate general location determining system to also provide sophisticated obstacle avoidance techniques.